package com.github.prontera.domain;

import java.time.OffsetDateTime;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.github.prontera.model.BasicDomain;
import com.github.prontera.util.converter.jackson.OffsetDateTimeToIso8601Serializer;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * app_version-版本管理
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class AppVersion extends BasicDomain{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 计划启用时间
	 */
	@ApiModelProperty(value = "计划启用时间")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)
    private OffsetDateTime startUseTime;
	/**
	 * 版本实例值
	 */
	@ApiModelProperty(value = "版本实例值")
    private Integer version;
	/**
	 * 版本号
	 */
	@ApiModelProperty(value = "版本号")
    private String versionCode;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private String versionName;
	/**
	 * 是否强制更新  1:强制更新 0:非强制更新
	 */
	@ApiModelProperty(value = "是否强制更新  1:强制更新 0:非强制更新")
    private Integer isNust;
	/**
	 * 更新内容
	 */
	@ApiModelProperty(value = "更新内容")
    private String description;
	/**
	 * 更新日期
	 */
	@ApiModelProperty(value = "更新日期")
	@JsonSerialize(using = OffsetDateTimeToIso8601Serializer.class)
    private OffsetDateTime lastUpdateDate;
	/**
	 * 客户端：0：安卓，1：IOS,100:安卓应用宝
	 */
	@ApiModelProperty(value = "客户端：0：安卓，1：IOS,100:安卓应用宝")
    private Integer client;
	/**
	 * 下载地址
	 */
	@ApiModelProperty(value = "下载地址")
    private String url;
    
    public AppVersion(){
    
    }
    
    public OffsetDateTime getStartUseTime() {
        return this.startUseTime;
    }
    
    public void setStartUseTime(OffsetDateTime startUseTime) {
        this.startUseTime = startUseTime;
    }
    public Integer getVersion() {
        return this.version;
    }
    
    public void setVersion(Integer version) {
        this.version = version;
    }
    public String getVersionCode() {
        return this.versionCode;
    }
    
    public void setVersionCode(String versionCode) {
        this.versionCode = versionCode;
    }
    public String getVersionName() {
        return this.versionName;
    }
    
    public void setVersionName(String versionName) {
        this.versionName = versionName;
    }
    public Integer getIsNust() {
        return this.isNust;
    }
    
    public void setIsNust(Integer isNust) {
        this.isNust = isNust;
    }
    public String getDescription() {
        return this.description;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }
    public OffsetDateTime getLastUpdateDate() {
        return this.lastUpdateDate;
    }
    
    public void setLastUpdateDate(OffsetDateTime lastUpdateDate) {
        this.lastUpdateDate = lastUpdateDate;
    }
    public Integer getClient() {
        return this.client;
    }
    
    public void setClient(Integer client) {
        this.client = client;
    }
    public String getUrl() {
        return this.url;
    }
    
    public void setUrl(String url) {
        this.url = url;
    }
    
}
